
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
class Main {

    public static void main(String[] args) {
        ArrayList a1=new ArrayList();
        ArrayList a2=new ArrayList();

        a1.add(1);
        a1.add(2);
        a1.add(3);

        a2.add(8);
        a2.add(2);
        a2.add(2);
        a2.add(3);
        a2.add(8);

        intersection(a1,a2);



    }


    public static ArrayList<Integer> intersection(ArrayList<Integer> nums1, ArrayList<Integer> nums2) {
        // write code here

        // write code here
        ArrayList arrayList=new ArrayList();
        Map<Integer, Integer> map = new HashMap();

        int n1 = nums1.size();
        int n2 = nums2.size();

        int n = n1 < n2 ? n1 : n2;
        int i = 0;



        for (i = 0; i < n1; i++) {
            if(nums1.isEmpty()) break;
            if(map.isEmpty()) {
                map.put(nums1.get(i), 1);
                continue;
            }

          Integer j=map.get(nums1.get(i));
//
          if(j==null){
              map.put(nums1.get(i),1);
              continue;
          }

                map.put(nums1.get(i),j+1);

        }


        for (i = 0; i < n2; i++) {
            if(nums2.isEmpty())break;


            Integer k=map.get(nums2.get(i));

            if(k==null){
                map.put(nums2.get(i),1);
                continue;
            }

            map.put(nums2.get(i),k+1);

        }


        Set<Map.Entry<Integer,Integer>> set=map.entrySet();
        for (Map.Entry<Integer,Integer> entry: set){

            if(entry.getValue()>1){

                arrayList.add(entry.getKey());

            }

        }


        System.out.println();

        return arrayList;
    }
}

//
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        // 注意 hasNext 和 hasNextLine 的区别
//        // 注意 while 处理多个 case
//            int a = in.nextInt();
//            int b = in.nextInt();
//            int n=0;
//            for(int i=a;i<=b;i++){
//                int j=i;
//                while(j>0){
//                    if(j%10==2){
//                        n++;
//
//                    }
//
//
//                    j/=10;
//
//                }
//
//
//            }
//            System.out.println(n);
//
//        }
//    }
